LCD:
first four bytes are always "LCDi"
next four are always 01,00,30,00
next four are always 20,00,01,00
next four are always 00,00,no.Frames,00
next four are always 00,00,frame dur,00
then 1536 bytes per frame 48 pixel per row with total 32 rows
next frame follows straight away
after last frame if file info
so read info and then frames 

VMI:

VMS:
Offset for anim details (follows program code) is 3585 ($E01)
This Byte is the frame count.
Next byte is frame 1 delay.
then for number of frames each 3rd byte is the next frames delay.
Very next 3rd byte is the first 8 pixels to 192 ($C0)
Frames follow sequentialy although there does appear to be some extras bytes and the end, pad out a full memory block?